function Deck() {
	var suits = ["Clubs", "Spades", "Hearts", "Diamonds"];
	var ranks = ["2", "3", "4", "5", "6", "7", "8", "9", "10", "Jack", "Queen", "King", "Ace"];
	
	var cards = generateDeck();
	var marker = 0;
	
	function generateDeck() {
		var nrOfSuits = suits.length;
		var nrOfRanks = ranks.length;
		var cards = new Array(nrOfSuits * nrOfRanks); 
		
		for (var i = 0; i < nrOfSuits * nrOfRanks; i++) {
			cards[i] = new Card(i % nrOfRanks, Math.floor(i / nrOfRanks), ranks, suits);
		}
		
		cards.shuffle();
		
		return cards;
	}
	
	this.getCard = function () {
		if (marker < 0) {
			alert("Funky stuff happening with the dealer's deck!");
			return null;
		}
		
		if (marker >= 52) {
			alert("Out of cards! Check your damn code!");
			return null;
		}
		
		return cards[marker++];
	};
}